package com.lzc.springPart.aop.jdk;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class $JdkProxyFoo extends Proxy implements JdkProxyDemo.Foo {

    public $JdkProxyFoo(InvocationHandler i){
        super(i);
    }

    @Override
    public void foo(){
        try {
            h.invoke(this, foo, null);
        } catch (RuntimeException e) {
            throw new RuntimeException(e);
        } catch (Throwable e) {
            throw new RuntimeException(e);
        }
    }

    static Method foo;
    static {
        try {
            foo = JdkProxyDemo.Foo.class.getDeclaredMethod("foo");
        } catch (NoSuchMethodException e) {
            throw new NoSuchMethodError();
        }
    }
}
